// Code generated by mockery v2.5.1. DO NOT EDIT.

package whatsapp

import (
	whatsapp "github.com/Rhymen/go-whatsapp"
	mock "github.com/stretchr/testify/mock"
)

// mockWhatsappClient is an autogenerated mock type for the mockWhatsappClient type
type mockWhatsappClient struct {
	mock.Mock
}

// Login provides a mock function with given fields: qrChan
func (_m *mockWhatsappClient) Login(qrChan chan<- string) (whatsapp.Session, error) {
	ret := _m.Called(qrChan)

	var r0 whatsapp.Session
	if rf, ok := ret.Get(0).(func(chan<- string) whatsapp.Session); ok {
		r0 = rf(qrChan)
	} else {
		r0 = ret.Get(0).(whatsapp.Session)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(chan<- string) error); ok {
		r1 = rf(qrChan)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RestoreWithSession provides a mock function with given fields: session
func (_m *mockWhatsappClient) RestoreWithSession(session whatsapp.Session) (whatsapp.Session, error) {
	ret := _m.Called(session)

	var r0 whatsapp.Session
	if rf, ok := ret.Get(0).(func(whatsapp.Session) whatsapp.Session); ok {
		r0 = rf(session)
	} else {
		r0 = ret.Get(0).(whatsapp.Session)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(whatsapp.Session) error); ok {
		r1 = rf(session)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Send provides a mock function with given fields: msg
func (_m *mockWhatsappClient) Send(msg interface{}) (string, error) {
	ret := _m.Called(msg)

	var r0 string
	if rf, ok := ret.Get(0).(func(interface{}) string); ok {
		r0 = rf(msg)
	} else {
		r0 = ret.Get(0).(string)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(interface{}) error); ok {
		r1 = rf(msg)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}
